package com.md.drcs.dicom.service;

import com.md.common.dto.page.Pagination;
import com.md.common.dto.page.ResponseQuery;
import com.md.drcs.dicom.dto.PatientStudyGenResp;
import com.md.drcs.dicom.dto.StudyDetailDTO;
import com.md.drcs.dicom.dto.UserPatientStudyDTO;
import com.md.drcs.dicom.entity.StudyEntity;

import java.time.LocalDateTime;
import java.util.List;

public interface StudyService {

    StudyDetailDTO get(Long id);

    StudyEntity getBasic(Long id);

    StudyEntity getBasicByHospStudyId(String hospStudyId, String hospId);

    boolean dealConsulReport(Long id, String sRep, String sCon);

    ResponseQuery<UserPatientStudyDTO> findByPatient(Pagination pagination, Long patientId, String hospId);

    boolean existsDicomFile(Long studyId);

    StudyEntity getBasicByStuIdInPacs(String stuIdInPacs, String hospId);

    StudyEntity getByAccessNumber(String accessNumber, String hospId);

    StudyEntity getByPatientHospNo(String hospNo, String hospid);

    List<PatientStudyGenResp> findByStudyDate(LocalDateTime begin, LocalDateTime end);

    LocalDateTime getPrintTime(String stuidInPacs);
}
